/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.jiadakeji.ppm.modules.business.entity;

import org.hibernate.validator.constraints.Length;

import com.jiadakeji.ppm.common.persistence.DataEntity;

/**
 * 实收台账Entity
 * @author HHAOYU
 * @version 2019-07-09
 */
public class FeeReceive extends DataEntity<FeeReceive> {

	public static final String STATUS_WAIT_PAY = "0";
	public static final String STATUS_PAY_FAIL = "1";
	public static final String STATUS_PAY_SUCCESS = "2";

	public static final String TYPE_CASH = "0";
	public static final String TYPE_WECHAT = "1";
	public static final String TYPE_BALANCE = "2";
	public static final String TYPE_WECHAT_CASH = "3";

	
	private static final long serialVersionUID = 1L;
	private String feeChargeId;		// 应收id
	private String code;		// 编号
	private String customerId;		// 用户id
	private String status;		// 支付状态
	private String type;		// 支付类型
	private String prepareId;		// 预支付id
	private Double feebackMoney;		// 违约金
	private Double totalFee;		// 总费用（不含违约金）
	private Double payAmount;		// 支付金额
	private String cashier;		//收银员
	private Long version;		// version
	private String operatorId;

	private String isTax;

	private Customer customer;

	private FeeCharge feeCharge;
	private Room room;
	
	public FeeReceive() {
		super();
	}

	public FeeReceive(String id){
		super(id);
	}

	@Length(min=0, max=32, message="应收id长度必须介于 0 和 32 之间")
	public String getFeeChargeId() {
		return feeChargeId;
	}

	public void setFeeChargeId(String feeChargeId) {
		this.feeChargeId = feeChargeId;
	}
	
	@Length(min=0, max=64, message="编号长度必须介于 0 和 64 之间")
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}
	
	@Length(min=0, max=32, message="用户id长度必须介于 0 和 32 之间")
	public String getCustomerId() {
		return customerId;
	}

	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}
	
	@Length(min=0, max=1, message="支付状态长度必须介于 0 和 1 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@Length(min=0, max=1, message="支付类型长度必须介于 0 和 1 之间")
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	
	@Length(min=0, max=64, message="预支付id长度必须介于 0 和 64 之间")
	public String getPrepareId() {
		return prepareId;
	}

	public void setPrepareId(String prepareId) {
		this.prepareId = prepareId;
	}
	
	public Double getFeebackMoney() {
		return feebackMoney;
	}

	public void setFeebackMoney(Double feebackMoney) {
		this.feebackMoney = feebackMoney;
	}
	
	public Double getTotalFee() {
		return totalFee;
	}

	public void setTotalFee(Double totalFee) {
		this.totalFee = totalFee;
	}
	
	public Double getPayAmount() {
		return payAmount;
	}

	public void setPayAmount(Double payAmount) {
		this.payAmount = payAmount;
	}

	public String getCashier() {
		return cashier;
	}

	public void setCashier(String cashier) {
		this.cashier = cashier;
	}

	public Long getVersion() {
		return version;
	}

	public void setVersion(Long version) {
		this.version = version;
	}

	public FeeCharge getFeeCharge() {
		return feeCharge;
	}

	public void setFeeCharge(FeeCharge feeCharge) {
		this.feeCharge = feeCharge;
	}

	public Customer getCustomer() {
		return customer;
	}

	public void setCustomer(Customer customer) {
		this.customer = customer;
	}

	public String getIsTax() {
		return isTax;
	}

	public void setIsTax(String isTax) {
		this.isTax = isTax;
	}

	public String getOperatorId() {
		return operatorId;
	}

	public void setOperatorId(String operatorId) {
		this.operatorId = operatorId;
	}

	public Room getRoom() {
		return room;
	}

	public void setRoom(Room room) {
		this.room = room;
	}
}